Perl 5.005_03 Release Notes

This describes the SGI Freeware Perl release.


Distribution Specifics

This binary distribution of perl v5.005_03 differs from the default perl installation in the following ways:
  1. It is installed with the prefix of /usr/freeware instead of /usr/local.
  2. It is compiled 5 different ways (different ABIs, Perl documentation would call them different architectures). They may all be installed at the same time:
    1. O32 (-32): this is the way that previous Freeware Perl versions were compiled. This one replaces those versions. Because 5.005 is not binary compatible with previous versions, you will need to recompile any compiled extensions.
    2. N32 (-n32 -mips3): this is the new standard compilation mode for IRIX 6.x. It potentially takes full advantage of the 64bit processor, but within a 32bit address space (32bit pointers). It will run correctly on all IRIX 6.2 and later system, though some n32 libraries may need to be installed first.
    3. N32-thread (-n32 -mips3): this is compiled with the experimental pthread-ed perl core. The Thread API is subject to change in future releases. It is not binary compatible with the N32 version. IRIX 6.2 will require that the pthreads (Posix) patches be installed first.
    4. N64 (-64 -mips3): this is compiled to use the full 64bit address space of the MIPS processor. It will only install and run on IRIX64 systems.
    5. N64-thread (-64 -mips3): this is compiled with both the experimental pthread-ed core in the -64 compilation mode. The same pthreads caveats apply.
    Note that none of the 5 versions are binary compatible with each other -- any compiled extensions that you create will need to be compiled separately for each one. Perl-only extensions and modules are sharable, however. You can install one with any ABI version, and it is usable with any other ABI you may have also installed.

    When installing perl extensions, it is best to use the full path to the version of perl that it is intended to install for. ie:

           /usr/freeware/bin/perl5.00503-n32 Makefile.PL
           
  3. Since 5 different versions of Perl install into the bin directory (/usr/freeware/bin/), they all need different names. Each is tagged with it's architecture to create a unique filename (perl5.00503-o32, perl5.00503-n32, perl5.00503-n64, thrperl5.00503-n32, and thrperl5.00503-n64). Symlinks are created as an exitop so that you always have a valid /usr/freeware/bin/perl link (and /usr/freeware/bin/thrperl if a threaded perl is installed). operl and perl64 symlinks are conditionally created if the appropriate subsystems are installed.
  4. The symlinks /usr/bin/perl and /usr/bin/perl5 are created if they do not exist, or are dangling. A /usr/bin/perl4 symlink will be created if /usr/sbin/perl is perl v4.
  5. Some of the standard library and extension components which normally normally install into an architecture-specific directory have been installed into a shared directory instead. This minimizes the duplication of disk space when multiple ABI versions are installed. It is functionally equivalent to the normal layout.
  6. The source has been patched to use drand48() as the rand() function. This is the best quality pseudo-random number generator shipped with IRIX (or most Unixes).
  7. The documentation has been processed into several formats, which may be installed independently:
  8. All ABI versions have compiled the interfaces to GDBM (GDBM_File) and Berkeley DB (DB_File). The GDBM and DB libraries are available as separate SGI Freeware packages. If they are not installed, then any attempt to use the GDBM_File and DB_File extensions will fail. No other uses of Perl will be affected by not installing fw_gdbm or fw_db.
  9. Several of the perl4-style *.ph files that normally cause problems have been pre-processed and installed into the respective base architecture-specific directories. The h2ph command is automatically run as an exitop on installation, and the *.ph files are installed into a common shared site_perl directory. If you later install more C header (ie: /usr/include/*.h) files, you can rerun the /usr/freeware/lib/perl5/5.00503/make.libs script to (re-)generate the new *.ph files.


License, Warranty, and Support

Perl is distributed under either the GNU General Public License or the Artistic License.

SGI does not provide any warranty or support for this product. For details, see Silicon Graphics Freeware Legal Notice.

Support for perl is provided via several newsgroups. For details, see Additional Perl Resources below.


Distribution Contents

The fw_perl distribution has the following subsystems:
fw_perl.sw.common
The common library files. Required for any of the different architecture (ABI) versions to install.
fw_perl.sw.perl
Perl o32 ABI binaries and libraries.
fw_perl.sw32.perl
Perl n32 ABI binaries and libraries.
fw_perl.sw32.threaded_perl
Perl n32 ABI pthreaded binaries and libraries.
fw_perl.sw64.perl
Perl 64 ABI binaries and libraries.
fw_perl.sw64.threaded_perl
Perl 64 ABI pthreaded binaries and libraries.
fw_perl.src.perl
perl5.005_03 original source code, local patches, and configurations.
fw_perl.man.relnotes
(This document)
fw_perl.man.perl
Perl man pages in catman format (pre-formatted).
fw_perl.man.html
Perl man pages in HTML format.


Additional Perl Resources

If you can reach the World Wide Web, then you have access to several additional Perl resources: